#pragma once
#include "Actor.h"
#include <list>
#include "Block.h"
namespace mini
{
	class CVoxelBrush
	{
	public:
		CVoxelBrush();
		~CVoxelBrush();
		void convertToVoxel(CActor* pActor);
		void setPosition(const CVector& pos);
		CVector getPosition();
		CBoundBox* getBoundBoxPtr();
		bool checkBlockNode(CBlockNode* pNode, bool bIncrease);
		void testPlane(int showZ);
	public:
		static CVoxelBrush* GVoxelBrush;

	private:
		CActor* mpActor = nullptr;
		float	mVoxelSize = 0.25f;
		std::vector< std::vector< std::vector<std::pair<int, CBlockNode*>> > >	mVoxelRecord;
		CVector mPosition = {0,0,0};
		CBoundBox mBoundBox;
	};
	
}